package ma.moliere.commun;

import java.io.Serializable;

public class FonctionnelleException extends Exception implements Serializable {

	/**
	 * Serial Version UID.
	 */
	private static final long serialVersionUID = 1014903231845323314L;

	/**
	 * Constructeur par défaut.
	 */
	public FonctionnelleException() {
		super("this is a functional exception raised for exemple purpose");
	}

	/**
	 * Construit une exeption fonctionnelle avec un message d'erreur.
	 * 
	 * @param pMessage
	 *            le message d'erreur
	 */
	public FonctionnelleException(final String pMessage) {
		super(pMessage);
	}

	/**
	 * Construit une exeption fonctionnelle avec un message d'erreur et l'exception d'origine.
	 * 
	 * @param pMessage
	 *            le message d'erreur
	 * @param pException
	 *            l'exception d'origine
	 */
	public FonctionnelleException(final String pMessage, final Throwable pException) {
		super(pMessage, pException);
	}

	/**
	 * Construit une exeption fonctionnelle avec l'exception d'origine.
	 * 
	 * @param pException
	 *            l'exception d'origine
	 */
	public FonctionnelleException(final Throwable pException) {
		super(pException);
	}

	/**
	 * Retourne une description de l'exception fonctionnelle.
	 * 
	 * @return une description de l'exception fonctionnelle
	 */
	@Override
	public final String toString() {
		return "FonctionnelleException - " + this.getMessage();
	}

}
